#pragma once
#include "../Gui.h"

class GUI_API CThread
{
public:
	CThread(LPTHREAD_START_ROUTINE pThreadFunc = NULL);
	virtual ~CThread(void);

public:
	BOOL	Start(LPVOID pParam = NULL);
	void	Stop(){};
	void	SetPriority(int nPriority){};
	void	GetPriority(){};
	DWORD	GetExitCode();
	void	Attach(LPTHREAD_START_ROUTINE pThreadFunc);
	
	//LPTHREAD_START_ROUTINE	Detach();
	static DWORD __stdcall ThreadProc(LPVOID lpParameter);

protected:
	virtual void Run(){};

private:
	LPTHREAD_START_ROUTINE	m_pThreadFunc;
	HANDLE					m_hThread;
	DWORD					m_dwId;
};